home *** CD-ROM | disk | FTP | other *** search
- Path: Norway.EU.net!usenet
- From: patrick.hanevold@login.eunet.no (Patrick Hanevold)
- Newsgroups: comp.sys.amiga.programmer
- Subject: Re: Qblit intereference again
- Date: 21 Feb 1996 02:09:35 GMT
- Organization: EUnet Norway
- Message-ID: <1695.6625T173T2950@login.eunet.no>
- References: <4gb6om$104@sunsystem5.informatik.tu-muenchen.de>
- NNTP-Posting-Host: pc9.asker-pm2-1.eunet.no
- X-Newsreader: THOR 2.22 (Amiga;TCP/IP)
-
-
- >My Qblit function still locks up if OS does small blits between it.
- >help please.
-
- >Best is IMHO I post the source:
-
- >* === THE QBLIT CALL
- > move.w #1,_bltbsy ;MY FLAG TELLING THAT QBLIT SEQUENCE IS WORKING.
-
- > move.l bltnode,a0
-
- > clr.l (a0)+ : move.l #function,(a0)+
- > move.w #$4000,(a0)+ ;do cleanup
- > move.w #$2020,(a0)+ ;DUMMY SIZE. HOW TO DO LARGE BLIT IN A .W ? HUH HUH
- > clr.w (a0)+
- > move.l #cleanup,(a0)+
-
- > move.l bltnode,a1 : move.l _GfxBase,a6 : jsr -276(a6)
-
- >* NO I WON'T TOUCH THIS BLTNODE UNTIL MY cleanup: WAS CALLED.
-
- >*===== THE FUNCTIONS
- >function:
- >* DO I MISS CLEARING THE BLITTER INTREQ BIT HERE ?
-
- > movem.l d1/a6,-(sp)
- > move.l bltpc(pc),a6
-
- >bltsetreg:
- > move.l (a6)+,d0 : move.w d0,d1 : swap d0
- > move.w d0,0(a0,d1.w)
- >* ^------- ??? $DFF000 BY OS ???
-
- > cmp.w #$5e,d1 : beq.s bltstarted
- > cmp.w #$58,d1 : bne.s bltsetreg
- >* ---
- >bltstarted:
- > move.l a6,bltpc
- > cmp.l #0,(a6) : beq bltintend
-
- > movem.l (sp)+,d1/a6
-
- > move.l #1,d0 ;TO BE RECALLED
- > rts
-
- >bltintend:
- > movem.l (sp)+,d1/a6
-
- > move.l #0,d0 ;ALL DONE
- > rts
-
- >cleanup:
- > clr.w _bltbsy
- > moveq #0,d0
- > rts
-
- I think its a bug in the system. Atleast he forgets that clr.w _bltbsy some
- times. I dont know why.
-
- >*===============================
-
- >The bugs:
-
- > blitter lockup most likely if lots of small blits are done
- > by other programs, while mine does quite large blits.
-
- > if I just let the function run without any pokes to blitter,
- > the lockup is also caused!
-
- > It's just a lockup, no memory trashed.
-
-
- <sb>Patrick Hanevold - Virtual Reality developer
- <sb>patrick.hanevold@login.eunet.no
- <sb>Amiga and official Be developer
-
-